//
//  menuView.m
//  标题按钮
//
//  Created by 李贤立 on 16/5/22.
//  Copyright © 2016年 李贤立. All rights reserved.
//

#import "MenuView.h"
#import "NoteMoedel.h"
@interface MenuView ()<UITableViewDelegate,UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@property(nonatomic,strong) NSMutableArray<NoteMoedel *> *titles;
@end
@implementation MenuView
+ (instancetype)menuView {
    return [[[NSBundle mainBundle] loadNibNamed:@"MenuView" owner:nil options:nil] lastObject];
}
// 绘制尖角
- (void)drawRect:(CGRect)rect {
    /**
     * 准备基本数据
     */
    CGFloat baseCount = 10;
    CGFloat MinX = CGRectGetMinX(rect);// 菜单的最左边X
    CGFloat MaxX = CGRectGetMaxX(rect);// 菜单的最右边X
    CGFloat MidX = CGRectGetMidX(rect);// 菜单的最中间X
    CGFloat MaxY = CGRectGetMaxY(rect);// 菜单的最下边Y
    CGFloat MinY = CGRectGetMinY(rect);// 菜单的最上边Y
    /**
     * 开始绘图
     */
    // 获得当前图形上下文
    CGContextRef context = UIGraphicsGetCurrentContext();
    // 设置起始点为最顶点
    CGContextMoveToPoint(context, MidX, MinY);
    // 往左下方绘制第一条线段
    CGContextAddLineToPoint(context, MidX - baseCount, MinY + baseCount);
    // 绘制第一个弧线圆角
    CGContextAddArcToPoint(context, MinX, MinY + baseCount, MinX, MaxY, baseCount);
    // 绘制第二个弧线圆角
    CGContextAddArcToPoint(context, MinX, MaxY, MaxX, MaxY, baseCount);
    // 绘制第三个弧线圆角
    CGContextAddArcToPoint(context, MaxX, MaxY, MaxX, MinY + baseCount, baseCount);
    // 绘制第四个弧线圆角
    CGContextAddArcToPoint(context, MaxX, MinY + baseCount, MidX + baseCount, MinY + baseCount, baseCount);
    // 绘制右上边的横向直线
    CGContextAddLineToPoint(context, MidX + baseCount, MinY + baseCount);
    // 绘制最后封闭的斜直线
    CGContextAddLineToPoint(context, MidX, MinY);
    // 设置颜色
    [[UIColor whiteColor] set];
    // 实心渲染
    CGContextFillPath(context);
}
#pragma mark - UI事件
- (IBAction)didEditBtn:(id)sender {
    // 跳转到编辑控制器
    if (self.jumpToVCFromEdit) {
        self.jumpToVCFromEdit();
    }
}
- (void)awakeFromNib {
    // 指定数据源和代理
    self.tableView.delegate = self;
    self.tableView.dataSource = self;
}
#pragma mark - 数据源方法
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.titles.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = nil;
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"title"];
    } else {
        cell = [tableView dequeueReusableCellWithIdentifier:@"title"];
    }
    cell.textLabel.text = @"全部";
    cell.detailTextLabel.text = @"全部内容";
    return cell;
}
#pragma mark - 代理方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (self.jumpToVCFromCell) {
        self.jumpToVCFromCell();
    }
}
#pragma mark - 懒加载
- (NSMutableArray<NoteMoedel *> *)titles {
    if (_titles == nil) {
        _titles = [NSMutableArray array];
        [_titles addObject:@"全部"];
    }
    return _titles;
}
@end
